An Overview of the Extended Static Checking System

نویسنده

  • David L. Detlefs
چکیده

The Extended Static Checking system (henceforth ESC) is a checker aimed at statically detecting simple errors in programs; e.g., NIL dereferences, out-of-bounds array indices, or simple deadlocks or race conditions in concurrent programs. ESC attempts to achieve these fairly modest goals using a quite general program verification framework. The user annotates the program being checked with specifications; a verification condition generator transforms the program and specification into a logical formula whose validity ensures the absence of the errors being considered. This formula is passed to an automatic theorem prover (called Simplify) developed expressly for ESC. If the prover is unable to prove that the errors do not occur, it returns (roughly) an assignment of values to program variables that falsifies the formula. This information can be presented to the programmer, giving information about the error somewhat akin to what a debugger provides when examining a core file left by a runtime occurrence of the error.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Omnibus: A clean language and supporting tool for integrating different assertion-based verification techniques

Omnibus is a new system for the development of reliable ObjectOriented software. It includes a clean language that is superficially similar to Java but removes aspects that particularly complicate verification. Integrated support is provided for run-time assertion checking, extended static checking and full formal verification. The language is supported by a prototype IDE with a type checker, J...

متن کامل

Checking JML Specification Soundness Using ESC/Java2

This report describes the work completed in the Final Year Project “Checking JML Specification Soundness Using ESC/Java2.” It introduces some of the basics of Design by Contract and the Java Modelling Language (JML). This paper primarily deals with the Extended Static Checker ESC/Java2, one of the many powerful tools that understand JML. It describes techniques for extending the functionality o...

متن کامل

Security Audit using Extended Static Checking: Is It Cost-effective Yet?

This paper describes our experience of doing variation analysis of known security vulnerabilities in C++ projects including core operating system and browser COM components, using an extended static checker HAVOC-LITE. We describe the extensions made to the tool to be applicable on such large components, along with our experience of using an extended static checker in the large. We argue that t...

متن کامل

Extended Static Checking: A Ten-Year Perspective

A powerful approach to finding errors in computer software is to translate a given program into a verification condition, a logical formula that is valid if and only if the program is free of the classes of errors under consideration. Finding errors in the program is then done by mechanically searching for counterexamples to the verification condition. This paper gives an overview of the techno...

متن کامل

Edit and verify

Automated theorem provers are used in extended static checking, where they are the performance bottleneck. Extended static checkers are run typically after incremental changes to the code. We propose to exploit this usage pattern to improve performance. We present two approaches of how to do so and a full solution.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1995